#include "C:\SAFIRE\USERS\SIP_USER\ws\SIP\results\SIP_CDC_TL\SIP_CDC_TL.Syntaxia.y.h"
           
typedef 
    SIGNALS {
        SIGNAL SIP_Invalid(	String ErrorDescription);
		
        SIGNAL SIP_Invite(                                      Request_T Request);                    
        SIGNAL SIP_Ack(                                         Request_T Request);                          
        SIGNAL SIP_Options(                                     Request_T Request);                          
        SIGNAL SIP_Bye(                                         Request_T Request);                             
        SIGNAL SIP_Cancel(                                      Request_T Request);                       
        SIGNAL SIP_Register(                                    Request_T Request);
        
        SIGNAL SIP_100_Trying(                                  Response_T Response);                   
        SIGNAL SIP_180_Ringing(                                 Response_T Response);                                  
        SIGNAL SIP_181_Call_Is_Being_Forwarded(                 Response_T Response);                                
        SIGNAL SIP_182_Queued(                                  Response_T Response);                               
        SIGNAL SIP_183_Session_Progress(                        Response_T Response);                                 
        SIGNAL SIP_200_OK(                                      Response_T Response);                                
        SIGNAL SIP_202_Accepted(                                Response_T Response);                             
        SIGNAL SIP_300_Multiple_Choices(                        Response_T Response);                                      
        SIGNAL SIP_301_Moved_Permanently(                       Response_T Response);                                      
        SIGNAL SIP_302_Moved_Temporarily(                       Response_T Response);                                       
        SIGNAL SIP_305_Use_Proxy(                               Response_T Response);                                     
        SIGNAL SIP_380_Alternative_Service(                     Response_T Response);                                       
        SIGNAL SIP_400_Bad_Request(                             Response_T Response);                                  
        SIGNAL SIP_401_Unauthorized(                            Response_T Response);                                 
        SIGNAL SIP_402_Payment_Required(                        Response_T Response);                                    
        SIGNAL SIP_403_Forbidden(                               Response_T Response);                                    
        SIGNAL SIP_404_Not_Found(                               Response_T Response);                                   
        SIGNAL SIP_405_Method_Not_Allowed(                      Response_T Response);                                     
        SIGNAL SIP_406_Not_Acceptable(                          Response_T Response);                                     
        SIGNAL SIP_407_Proxy_Authentication_Required(           Response_T Response);    
        SIGNAL SIP_408_Request_Timeout(                         Response_T Response);    
        SIGNAL SIP_409_Conflict(                                Response_T Response);                                                
        SIGNAL SIP_410_Gone(                                    Response_T Response);    
        SIGNAL SIP_411_Length_Required(                         Response_T Response);     
        SIGNAL SIP_412_Conditional_Request_Failed(              Response_T Response);    
        SIGNAL SIP_413_Request_Entity_Too_Large(                Response_T Response);   
        SIGNAL SIP_414_Request_URI_Too_Large(                   Response_T Response);                                                   
        SIGNAL SIP_415_Unsupported_Media_Type(                  Response_T Response);   
        SIGNAL SIP_416_Unsupported_URI_Scheme(                  Response_T Response);                                               
        SIGNAL SIP_417_Unknown_Resource_Priority(               Response_T Response);    
        SIGNAL SIP_420_Bad_Extension(                           Response_T Response);   
        SIGNAL SIP_421_Extension_Required(                      Response_T Response);   
        SIGNAL SIP_422_Session_Interval_Too_Small(              Response_T Response);   
        SIGNAL SIP_423_Interval_Too_Brief(                      Response_T Response);                                               
        SIGNAL SIP_429_Provide_Referrer_Identity(               Response_T Response);   
        SIGNAL SIP_480_Temporarily_Unavailable(                 Response_T Response);   
        SIGNAL SIP_481_Call_Leg_Transaction_Does_Not_Exist(     Response_T Response);   
        SIGNAL SIP_482_Loop_Detected(                           Response_T Response);                                                
        SIGNAL SIP_483_Too_Many_Hops(                           Response_T Response);
        SIGNAL SIP_484_Address_Incomplete(                      Response_T Response);   
        SIGNAL SIP_485_Ambiguous(                               Response_T Response);   
        SIGNAL SIP_486_Busy_Here(                               Response_T Response);   
        SIGNAL SIP_487_Request_Cancelled(                       Response_T Response);                                                 
        SIGNAL SIP_488_Not_Acceptable_Here(                     Response_T Response);   
        SIGNAL SIP_489_Bad_Event(                               Response_T Response);   
        SIGNAL SIP_491_Request_Pending(                         Response_T Response);   
        SIGNAL SIP_493_Undecipherable(                          Response_T Response);                                               
        SIGNAL SIP_494_Security_Agreement_Required(             Response_T Response);   
        SIGNAL SIP_500_Server_Internal_Error(                   Response_T Response);     
        SIGNAL SIP_501_Not_Implemented(                         Response_T Response);   
        SIGNAL SIP_502_Bad_Gateway(                             Response_T Response);   
        SIGNAL SIP_503_Service_Unavailable(                     Response_T Response);       
        SIGNAL SIP_504_Gateway_Time_out(                        Response_T Response);       
        SIGNAL SIP_505_Version_Not_Supported(                   Response_T Response);    
        SIGNAL SIP_513_Message_Too_Large(                       Response_T Response);      
        SIGNAL SIP_600_Busy_Everywhere(                         Response_T Response);                                               
        SIGNAL SIP_603_Decline(                                 Response_T Response);                                               
        SIGNAL SIP_604_Does_Not_Exist_Anywhere(                 Response_T Response);        
        SIGNAL SIP_606_Not_Acceptable(                          Response_T Response);   
    } SIP_Signals_T;
         

typedef SEQUENCE {
                    Request_Line_T      Request_Line;
                    Message_Headers_T   Message_Headers     OPTIONAL;
                    Message_Body_T      Message_Body        OPTIONAL;
} Request_T;

typedef SEQUENCE {
                    Status_Line_T       Status_Line;
                    Message_Headers_T   Message_Headers     OPTIONAL;
                    Message_Body_T      Message_Body        OPTIONAL;
} Response_T;

typedef SIP_Status_Line_T  Status_Line_T;
typedef SIP_Request_Line_T Request_Line_T;
typedef SIP_Message_Body_T Message_Body_T;  
 
typedef
    SEQUENCE {
              SIP_Call_Id_T Call_Id                          OPTIONAL;
              SIP_Contact_T Contact                          OPTIONAL;
              SIP_CSeq_T CSeq                                OPTIONAL;
              SIP_From_T From                                OPTIONAL;              
              SIP_Max_Forwards_T Max_Forwards                OPTIONAL;
              SIP_To_T To                                    OPTIONAL;
              SIP_Via_T Via                                  OPTIONAL;                  
              SIP_Accept_T Accept                            OPTIONAL;
              SIP_Allow_T Allow                              OPTIONAL;
              SIP_Subject_T Subject                          OPTIONAL; 
              SIP_Content_Type_T Content_Type                OPTIONAL;
              SIP_Content_Length_T Content_Length            OPTIONAL;    
              SIP_Supported_T Supported                      OPTIONAL;
              SIP_Unsupported_T Unsuppored                   OPTIONAL;
              SIP_Allow_Events_T Allow_Events                OPTIONAL;              
              SIP_User_Agent_T User_Agent                    OPTIONAL;
              SIP_Server_T Server                            OPTIONAL;
              SIP_Call_Info_T Call_Info                      OPTIONAL;
              SIP_P_Asserted_Identity_T P_Asserted_Identity  OPTIONAL;
              SIP_Event_T  Event                             OPTIONAL;
              SIP_Refer_To_T Refer_To                        OPTIONAL;
              SIP_Referred_By_T Referred_By                  OPTIONAL;
              SIP_Subscription_State_T Subscription_State    OPTIONAL;
    } Message_Headers_T;